package ar.edu.untref.ordenamiento.tests;
import ar.edu.untref.ordenamiento.Ordenamiento;

import org.junit.Assert;
import org.junit.Test;



public class OrdenamientoTestGaston {
	@Test
	public void pruebaDeSeleccion(){
		int[] vector = {5,3,1,2,4};
		int[] solucion = {1,2,3,4,5};
		Ordenamiento nuevoOrden = new Ordenamiento(vector);
		
		vector = nuevoOrden.seleccion();
		System.out.println("[Info]*Resultado de Seleccion ASC*");
		for(int i = 0; i < vector.length; i++){
			System.out.println("[Print] Pos: "+i+" Valor: "+vector[i]);
		}
		System.out.println("[Info]*Fin de Resultado de Seleccion ASC*");
		
		Assert.assertArrayEquals(solucion, vector);
}
	@Test
	public void pruebaDeBurbujeo(){
		int[] vector = {5,4,3,2,1};
		int[] solucion = {1,2,3,4,5};
		Ordenamiento nuevoOrden = new Ordenamiento(vector);
		vector = nuevoOrden.burbujeo();
		
		System.out.println("[Info]*Resultado de Burbujeo ASC*");
		for(int i = 0; i < vector.length; i++){
			System.out.println("[Print] Pos: "+i+" Valor: "+vector[i]);
		}
		System.out.println("[Info]*Fin de Resultado de Burbujeo ASC*");
		
		Assert.assertArrayEquals(solucion, vector);
	}
	@Test
	public void pruebaDeInsercion(){
		int[] vector = {5,4,3,2,1};
		int[] solucion = {1,2,3,4,5};
		Ordenamiento nuevoOrden = new Ordenamiento(vector);
		vector = nuevoOrden.insercion();
		
		System.out.println("[Info]*Resultado de Insercion ASC*");
		for(int i = 0; i < vector.length; i++){
			System.out.println("[Print] Pos: "+i+" Valor: "+vector[i]);
		}
		System.out.println("[Info]*Fin de Resultado de Insercion ASC*");
		
		Assert.assertArrayEquals(solucion, vector);
	}
	
	@Test
	public void pruebaDeSeleccionDescendiente(){
		int[] vector = {1,2,3,4,5};
		int[] solucion = {5,4,3,2,1};
		Ordenamiento nuevoOrden = new Ordenamiento(vector);
		vector = nuevoOrden.seleccionDescendente();
		
		System.out.println("[Info]*Resultado de Seleccion DSC*");
		for(int i = 0; i < vector.length; i++){
			System.out.println("[Print] Pos: "+i+" Valor: "+vector[i]);
		}
		System.out.println("[Info]*Fin de Resultado de Seleccion DSC*");
		
		Assert.assertArrayEquals(solucion, vector);
	}
	@Test
	public void pruebaDeBurbujeoDescendiente(){
		int[] vector = {1,2,3,4,5};
		int[] solucion = {5,4,3,2,1};
		Ordenamiento nuevoOrden = new Ordenamiento(vector);
		vector = nuevoOrden.burbujeoDescendente();
		
		System.out.println("[Info]*Resultado de Burbujeo DSC*");
		for(int i = 0; i < vector.length; i++){
			System.out.println("[Print] Pos: "+i+" Valor: "+vector[i]);
		}
		System.out.println("[Info]*Fin de Resultado de Burbujeo DSC*");
		
		Assert.assertArrayEquals(solucion, vector);
	}
	@Test
	public void pruebaDeInsecionDescendiente(){
		int[] vector = {1,2,3,4,5};
		int[] solucion = {5,4,3,2,1};
		Ordenamiento nuevoOrden = new Ordenamiento(vector);
		vector = nuevoOrden.insercionDescendente();
		System.out.println("[Info]*Resultado de Insercion DSC*");
		for(int i = 0; i < vector.length; i++){
			System.out.println("[Print] Pos: "+i+" Valor: "+vector[i]);
		}
		System.out.println("[Info]*Fin de Resultado de Insercion DSC*");
		
		Assert.assertArrayEquals(solucion, vector);
	}
	
}
